package site.shihuan.helpdesk.ticket.dao;

import org.springframework.stereotype.Repository;
import site.shihuan.helpdesk.ticket.model.po.TktReplyPO;
import site.shihuan.helpdesk.ticket.model.vo.TicketReplyVO;

import java.util.List;

/**
 * 工单回复(TktReply)表数据库访问层
 *
 * @author 周世焕
 * @since 2021-04-07 21:30:38
 */
@Repository
public interface TktReplyDao {

    /**
     * 通过主键查询单条数据
     *
     * @param replyId
     * @return 影响行数
     */
    TktReplyPO selectByPrimaryKey(String replyId);

    /**
     * 新增数据
     *
     * @param tktReply 实例对象
     * @return 影响行数
     */
    int insert(TktReplyPO tktReply);

    /**
     * 新增数据（可选字段）
     *
     * @param tktReply 实例对象
     * @return 影响行数
     */
    int insertSelective(TktReplyPO tktReply);

    /**
     * 修改数据
     *
     * @param tktReply 实例对象
     * @return 影响行数
     */
    int updateByPrimaryKey(TktReplyPO tktReply);

    /**
     * 修改数据(可选字段)
     *
     * @param tktReply 实例对象
     * @return 影响行数
     */
    int updateByPrimaryKeySelective(TktReplyPO tktReply);

    /**
     * 通过主键删除数据
     *
     * @param replyId
     * @return 影响行数
     */
    int deleteByPrimaryKey(String replyId);

    /**
     * 根据ticketId查询回复列表
     * @param ticketId
     * @return
     */
    List<TicketReplyVO> selectByTicketId(String ticketId);

    /**
     * 删除回复
     * @param tenantId
     * @param replyId
     * @return
     */
    int deleteByReplyIdAndTenantId(String tenantId,String replyId);

}
